[% setvar title A parser is a many-layered thing %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='TITLE'></a><h1>TITLE</h1>
<p>A parser is a many-layered thing</p>
<a name='VERSION'></a><h1>VERSION</h1>
<pre>  Maintainer: Simon Cozens &lt;<a href='mailto:simon@brecon.co.uk'>simon@brecon.co.uk</a>&gt;
  Date: 25 Sep 2000
  Mailing List: <a href='mailto:perl6-internals@perl.org'>perl6-internals@perl.org</a>
  Number: 314
  Version: 1
  Status: Developing</pre>
<a name='ABSTRACT'></a><h1>ABSTRACT</h1>
<p>The Perl 6 parser will be made up of a C core, a bytecode layer hooking
into that, and a user-defined layer looking into <b>that</b>.</p>
<a name='DESCRIPTION'></a><h1>DESCRIPTION</h1>
<p>There's been discussion about how to make Perl 6's parser fast, easy to
write, extensible, and, of course, cool.</p>
<p>The winning suggestion so far about how to do this would be to implement
a near-complete parser in C. This would power miniperl's replacement,
which should be able to parse enough of the less esoteric features of
Perl 6 to read in and compile a set of extensions to the parser written
in Perl, covering the more esoteric stuff. This byte-compiled parser
would be compiled into the full perl interpreter along with the C core.
It's expected that over time, the Perl layer should be converted to C.</p>
<p>This should give you the full syntax of Perl 6; naturally, we now need
to allow hard-core lunatics to extend that. We do this by providing
hooks from the compiled layer, allowing people to write Perl, C or
whatever other extension code to hook into this.</p>
<p>[ Fill in more details here as the parsing process firms up ]</p>
<a name='IMPLEMENTATION'></a><h1>IMPLEMENTATION</h1>
<p>Trivial, I believe.</p>
<a name='REFERENCES'></a><h1>REFERENCES</h1>
<p>&lt;<a href='mailto:5.0.0.25.0.20000919122948.01d08410@24.8.96.48'>5.0.0.25.0.20000919122948.01d08410@24.8.96.48</a>&gt; and
&lt;<a href='mailto:20000915185828.B7802@deep-dark-truthful-mirror.perlhacker.org'>20000915185828.B7802@deep-dark-truthful-mirror.perlhacker.org</a>&gt;</p>
<p>RFC ??: <code>use syntax</code></p>
</div>
